<?php

class CJoueur extends \BaseController{
	
	public function index() {
		//$this->loadView("vHeader");
		$this->viewConnexion();
		//echo JsUtils::get("/trivia/CIndex/getMenu", "{}", "#menu");
	}
	
	public function viewConnexion(){
		$this->loadView("vFooter");
		$this->loadView("vConnexion");
		echo JsUtils::get("/trivia/CIndex/getMenu", "{}", "#menu");
		echo JsUtils::postFormAndBindTo("#connexion", "click", "/trivia/CJoueur/connexionJoueur", "form_connexion", ".message_connexion");
		echo JsUtils::getAndBindTo("#lien_inscription", "click", "/trivia/CJoueur/viewInscription", "{}", ".bloc_page");
	}
	
	public function viewInscription(){
		$this->loadView("vFooter");
		$this->loadView("vInscription");
		echo JsUtils::postFormAndBindTo("#inscription", "click", "/trivia/CJoueur/inscriptionJoueur", "form_inscription", ".message");
		echo JsUtils::postFormAndBindTo("#login", "blur", "/trivia/CJoueur/loginJoueur", "form_inscription", ".message");
		echo JsUtils::getAndBindTo("#lien_connexion", "click", "/trivia/CJoueur/viewConnexion", "{}", ".bloc_page");
	}
	
	public function viewModify(){
		$this->loadView("vFooter");
		$this->loadView("vModify");
		echo JsUtils::postFormAndBindTo("#modifier", "click", "/trivia/CJoueur/modifyJoueur", "form_modify", ".message");
	}
	
	public function viewProfil(){
		$this->loadView("vFooter");
		$this->loadView("vProfil");
		echo JsUtils::get("/trivia/CIndex/getMenu", "{}", "#menu");
		echo JsUtils::getAndBindTo("#modifier_info", "click", "/trivia/CJoueur/viewModify", "{}", ".bloc_page");
	}
	
	public function viewStats(){
		$this->loadView("vFooter");
		$this->loadView("vStats",DAO::getAll("Statistiques", "idjoueur=".TriviaUtils::loadPlayer()->getId()));
		echo JsUtils::get("/trivia/CIndex/getMenu", "{}", "#menu");	
	}
	
	/**
	 * Vérification de l'existence du login
	 * si il existe alors l'inscription ne peut se faire
	 */
	public function loginJoueur(){
		$condition = 'login ="'.$_POST["login"].'"';
		$login=DAO::getAll("Joueur", $condition);
		if(empty($_POST['login'])){
			echo "Vous devez saisir un login";
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn("#login", "css", "'border', '2px solid #c93030'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
		elseif($login!=null){
			echo "Login n'est pas disponible";
			echo JsUtils::setAttr("#inscription", "disabled", "'disabled'");
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn("#login", "css", "'border', '2px solid #c93030'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
		else
		{
			echo "Ce login est disponible";
			echo JsUtils::doSomethingOn("#inscription", "removeAttr", "'disabled'");
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#48a770'");
			echo JsUtils::doSomethingOn("#login", "css", "'border', '2px solid #b5ddc6'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
	}
	
	/**
	 * Inscription du joueur
	 * On verifie dans en premier si tous les champs sont remplis
	 * On verifie ensuite si les mots de passes coordonnent
	 */
	public function inscriptionJoueur(){
		if(empty($_POST['nom']) || empty($_POST['prenom']) || empty($_POST['mail']) || empty($_POST['login']) || empty($_POST['password']) || empty($_POST['conf_password']))
		{
			echo "Veuillez remplir tous les champs";
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
		elseif(($_POST['password']) != ($_POST['conf_password']))
		{
			echo "Les mots de passe sont incorrect";
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
		elseif(empty($_POST['idMonde']))
		{
			echo "Vous devez sélectionner un monde";
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
		else
		{
			$new_joueur = new Joueur();
			RequestUtils::setValuesToObject($new_joueur);
			$monde=DAO::getOne("Monde", $_POST["idMonde"]);
			$new_joueur->setPassword(sha1($new_joueur->getPassword()));
			$new_joueur->setMonde($monde);
			if(DAO::insert($new_joueur)==1)
			{
				$function= JsUtils::_setHtml(".message_connexion","Félicitation ".$new_joueur." vous êtes maintenant inscrit !").
				JsUtils::_doSomethingOn(".message_connexion", "css", "'display', 'block'").
				JsUtils::_doSomethingOn(".message_connexion", "css", "'background', '#48a770'").
				JsUtils::_doSomethingOn(".message_connexion", "fadeOut", 6000);
				echo JsUtils::get("/trivia/CJoueur/viewConnexion", "{}", ".bloc_page", $function);
			}
		}
	}
	
	/**
	 * Connexion du joueur
	 */
	public function connexionJoueur(){
		$condition = 'login ="'.$_POST["login"].'" AND password ="'.sha1($_POST["password"]).'"';
		$joueur=DAO::getOne("Joueur", $condition);
		if($joueur!=null){
			$_SESSION['joueur']= $joueur;
			echo JsUtils::get("/trivia/CJoueur/viewProfil", "{}", ".bloc_page");
			
		}
		else{
			echo "Identifiant ou mot de passe incorrect !";
			echo JsUtils::doSomethingOn(".message_connexion", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message_connexion", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn(".message_connexion", "fadeOut", 4000);
		}
	}
	
	public function deconnexionJoueur(){
		session_unset();
		session_destroy();
		echo JsUtils::get("/trivia/CJoueur/viewConnexion", "{}", ".bloc_page");
	}
	
	public function modifyJoueur(){
		$mdpjoueur = $_SESSION['joueur']->getPassword();
		
		if(empty($_POST['new_nom']) || empty($_POST['new_prenom']) || empty($_POST['new_mail']))
		{
			echo "Veuillez remplir les 3 premiers champs";
			echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
			echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
			echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
		}
		elseif(empty($_POST['old_password']) or empty($_POST['new_password']) or empty($_POST['new_conf_password']))
		{
			// On modifie nom, prenom, mail
			$modif_joueur = TriviaUtils::loadPlayer();
			$modif_joueur->setNom($_POST["new_nom"]);
			$modif_joueur->setPrenom($_POST["new_prenom"]);
			$modif_joueur->setMail($_POST["new_mail"]);
			var_dump($modif_joueur);
			if(DAO::update($modif_joueur)==1)
				$function= JsUtils::_setHtml(".message_profil", "Félicitation ! Vos Informations on été mises à jour.").
				JsUtils::_doSomethingOn(".message_profil", "css", "'display', 'block'").
				JsUtils::_doSomethingOn(".message_profil", "css", "'background', '#48a770'").
				JsUtils::_doSomethingOn(".message_profil", "fadeOut", 6000);
				echo JsUtils::get("/trivia/CJoueur/viewProfil", "{}", ".bloc_page", $function);
		}
		elseif(isset($_POST['old_password']) && isset($_POST['new_password']) && isset($_POST['new_conf_password']))
		{
			if(($_POST['new_password']) != ($_POST['new_conf_password']))
			{
				echo "Les mots de passe sont incorrect";
				echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
				echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
				echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
			}
			elseif(sha1($_POST['old_password'])!=$mdpjoueur)
			{	
				echo "Votre mot de passe actuel est incorrect";
				echo JsUtils::doSomethingOn(".message", "css", "'display', 'block'");
				echo JsUtils::doSomethingOn(".message", "css", "'background', '#c93030'");
				echo JsUtils::doSomethingOn(".message", "fadeOut", 4000);
			}
			else
			{
				$modif_joueur = TriviaUtils::loadPlayer();
				$modif_joueur->setNom($_POST["new_nom"]);
				$modif_joueur->setPrenom($_POST["new_prenom"]);
				$modif_joueur->setMail($_POST["new_mail"]);
				$modif_joueur->setPassword((sha1($_POST["new_password"])));
				var_dump($modif_joueur);
				if(DAO::update($modif_joueur)==1)
					$function= JsUtils::_setHtml(".message_profil", "Félicitation ! vos Informations on été mises à jour.").
					JsUtils::_doSomethingOn(".message_profil", "css", "'display', 'block'").
					JsUtils::_doSomethingOn(".message_profil", "css", "'background', '#48a770'").
					JsUtils::_doSomethingOn(".message_profil", "fadeOut", 6000);
					echo JsUtils::get("/trivia/CJoueur/viewProfil", "{}", ".bloc_page", $function);
			}
		}
	}
}